// 引入http
import http from "wechat-http";

// 配置基地址
http.baseURL = 'https://live-api.itheima.net/'

// 请求拦截器

http.intercept.request = (config) => {

  // 每次请求之前带上token
  const app = getApp()
  // 封装统一请求头
  const token = app.token
  if (token) {
    // 赋值要重新添加
    // 可以在config添加属性，但不能直接添加属性再添加一层属性再添加值
    // 因为config原本没有header属性,所以再点header属性添加属性会报错
    // 这么蠢的错误不要再犯了
    config.header = {
      // 考虑到有时候除了token在页面中还需要传递其它的参数在header中
      // 所以在这里使用解构的方式,将页面中传入的header的参数
      // 在经过请求拦截器时合并到这个header参数中发送请求
      ...config.header,
      // 如果页面没有header参数传入的话,也不会报错
      //因为空对象解构就为空,所以不会报错
      Authorization: `Bearer ${token}`
    }
  }
  return config
}

// 响应拦截器
// 将获取到的数据去掉一层data,调用http获取数据的地方就能少点一层data
http.intercept.response = (res) => {
  // console.log(res); res是一个大对象
  return res.data//在这里返回的就是大对象里我们需要的真正的数据
}

// 给wx挂载http
wx.http = http
// 导出http
export default http